package com.competition.bonusrule.domain.vo;

import com.competition.bonusrule.domain.Bonusrule;
import com.competition.common.annotation.Excel;
import lombok.Data;

import java.util.List;
import java.util.Date;

@Data
public class BonusruleVo extends Bonusrule {
   @Excel(name = "赛事类别", type = Excel.Type.IMPORT,sort = 1)
   private String competitionTypeName;

   @Excel(name = "赛事级别", type = Excel.Type.IMPORT,sort = 2)
   private String competitionGradeName;

   @Excel(name = "获奖级别", type = Excel.Type.IMPORT,sort = 3)
   private String awardGradeName;

   @Excel(name = "团队类型", type = Excel.Type.IMPORT,sort= 4)
   private String teamTypeName;

   // 奖金分配相关字段
   @Excel(name = "获奖记录ID")
   private Long awardId;

   @Excel(name = "团队ID")
   private Long teamId;

   @Excel(name = "团队名称")
   private String teamName;

   @Excel(name = "比赛名称")
   private String competitionName;

   @Excel(name = "比赛届次")
   private Integer sessionNum;

   @Excel(name = "匹配奖金金额")
   private Integer matchedAmount;

   @Excel(name = "分配状态")
   private String distributionStatus;

   @Excel(name = "分配人ID")
   private Long distributorId;

   @Excel(name = "分配人姓名")
   private String distributorName;

   @Excel(name = "分配时间")
   private Date distributionTime;

   @Excel(name = "已分配金额")
   private Double distributedAmount;

   @Excel(name = "剩余金额")
   private Double remainingAmount;

   @Excel(name = "分配进度")
   private Double distributionProgress;

   @Excel(name = "是否有分配权限")
   private Boolean hasPermission;

   // 添加当前用户ID字段（解决MyBatis反射异常）
   private Long currentUserId;

   // 团队成员列表
   private List<TeamMember> teamMembers;

   @Data
   public static class TeamMember {
      @Excel(name = "用户ID")
      private Long userId;

      @Excel(name = "用户姓名")
      private String userName;

      @Excel(name = "用户角色")
      private String userRole;

      @Excel(name = "分配比例")
      private Double distributionRatio;

      @Excel(name = "分配金额")
      private Double amount;
   }
}